// // ignore_for_file: file_names, must_be_immutable, constant_identifier_names, slash_for_doc_comments, avoid_unnecessary_containers, prefer_const_constructors, unnecessary_cast, sized_box_for_whitespace, prefer_function_declarations_over_variables, overridden_fields, annotate_overrides, prefer_const_literals_to_create_immutables, unnecessary_null_comparison, deprecated_member_use
// import 'package:just_audio/just_audio.dart';
// 哪个项目报错，把这个文件放在单独的项目去
// class ShortMusic {
//   // 单例公开访问点
//   factory ShortMusic() => _sharedInstance();
//
//   // 静态、同步、私有访问点
//   static ShortMusic _sharedInstance() {
//     return _instance;
//   }
//
//   // 静态私有成员，没有初始化
//   static final ShortMusic _instance = ShortMusic._();
//
//   // 私有构造函数
//   ShortMusic._() {}
//
//   List<ShortMusicEntity> playerList = [];
//
//   // 播放本地音乐
//   Future<void> play(String asset) async {
//     ShortMusicEntity? notPlayingEntity = getNotPlayingEntity();
//     if (notPlayingEntity != null) {
//       notPlayingEntity.isPlaying = true;
//       notPlayingEntity.asset = asset;
//       notPlayingEntity.start();
//       return;
//     }
//
//     ShortMusicEntity entity = ShortMusicEntity(asset: asset);
//     entity.start();
//     playerList.add(entity);
//   }
//
//   // 返回空闲的播放器
//   ShortMusicEntity? getNotPlayingEntity() {
//     for (var element in playerList) {
//       if (element.isPlaying == false) {
//         return element;
//       }
//     }
//
//     return null;
//   }
// }
//
// class ShortMusicEntity {
//   String asset;
//   AudioPlayer? player;
//   bool isPlaying;
//
//   ShortMusicEntity({
//     required this.asset,
//     this.isPlaying = true,
//   });
//
//   Future<void> start() async {
//     if (player == null) {
//       player ??= AudioPlayer();
//       player?.playerStateStream.listen((PlayerState state) {
//         switch (state.processingState) {
//           case ProcessingState.idle:
//             {
//               break;
//             }
//           case ProcessingState.loading:
//             {
//               break;
//             }
//           case ProcessingState.buffering:
//             {
//               break;
//             }
//           case ProcessingState.ready:
//             {
//               break;
//             }
//           case ProcessingState.completed:
//             {
//               isPlaying = false;
//               break;
//             }
//         }
//       });
//     }
//     await player?.setAudioSource(AudioSource.asset(asset));
//     player?.play();
//   }
// }
